<%@ page language="java" import="englishChicken.*,java.util.Iterator" %>
<%@ page errorPage="error.jsp?source=juego.jsp"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<%
 String juego=request.getParameter("nombre");
 AlmacenDeJuegos adj=AlmacenDeJuegos.getInstance();
 AlmacenDeUsuarios adu=AlmacenDeUsuarios.getInstance();
 Juego jAct=adj.getJuegoUid(juego);
 String sessionId=(String)session.getAttribute("login_id");
 Usuario uAct=null;
 if(sessionId!=null){
  uAct=adu.getUsuarioUid(sessionId);
 }
 String accion=request.getParameter("accion");
 if(accion!=null){
  if(accion.equals("apuntarseJugador")){
   Usuario user = adu.getUsuarioUid((String)session.getAttribute("login_id"));
   user.addJuegoJugado(jAct.getUid());
   jAct.addJugador(user.getUid());
  }
  else if(accion.equals("retirarseJugador")){
   uAct.removeJuegoJugado(jAct.getUid());
   jAct.removeJugador(uAct.getUid());
  }
  else if(accion.equals("apuntarsePadrino")){
   uAct.addSolicitudPadrino(jAct.getUid());
   jAct.addSolicitudPadrino(uAct.getUid());
  }
  else if(accion.equals("retirarsePadrino")){
   uAct.removeJuegoApadrinado(jAct.getUid());
   jAct.removePadrino(uAct.getUid());
  }
  else if(accion.equals("retirarsePeticionPadrino")){
   uAct.removeSolicitudPadrino(jAct.getUid());
   jAct.removeSolicitudPadrino(uAct.getUid());
  }
 }
%>
<html>
 <head>
  <title>English Chicken</title>
  <link type='text/css' href='css/general.css' rel='stylesheet' media='all'>
  <link type='text/css' href='css/juego.css' rel='stylesheet' media='all'>
  <script type="text/javascript" src="js/base64.js"></script>
  <script type="text/javascript" src="js/sprintf.js"></script>
  <script type="text/javascript" src="js/jspdf.js"></script>
  <script type="text/javascript" src="js/juegopdf.js"></script>
  <script type="text/javascript" src="js/localizacion.js"></script>
  <script type="text/javascript" src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAAG_EsipFAO3axUrlzBL54yBSES8lTjYXFoBn5xLctGYLEpAD2OBSBQIjzeyNIDc1gO06RLY5wfh7h-g"></script>
  <script type="text/javascript">
   function initialize_jugadores(){
    if(GBrowserIsCompatible()){
     var map=new GMap2(document.getElementById("map_canvas"));
     map.setCenter(new GLatLng(0,0));
     map.addControl(new GSmallMapControl());
     //map.addControl(new GMapTypeControl());
     <%
      Iterator<Usuario> jmapIt=jAct.getJugadoresJ().iterator();
      while(jmapIt.hasNext()){
       Usuario umapAct=jmapIt.next();
       String param="";
       param+=umapAct.getLocalizacion()[0]+",";
       param+=umapAct.getLocalizacion()[1]+",'";
       param+=umapAct.getApodo()+"',";
       param+=(umapAct.getSexo()=='H'?3:5)+",'";
       param+=umapAct.getUid()+"',map";
       out.println("localiza("+param+")");
      }
     %>
    }
   }
   function initialize_eventos(){
    if(GBrowserIsCompatible()){
     var map=new GMap2(document.getElementById("map_canvas"));
     map.setCenter(new GLatLng(0,0));
     map.addControl(new GSmallMapControl());
     //map.addControl(new GMapTypeControl());
     <%
      Iterator<Evento> emapIt=jAct.getEventosJ().iterator();
      while(emapIt.hasNext()){
       Evento emapAct=emapIt.next();
       String param="";
       param+=emapAct.getLocalizacion()[0]+",";
       param+=emapAct.getLocalizacion()[1]+",'";
       param+=emapAct.getNombre()+"',0,'";
       param+=emapAct.getUid()+"',map";
       out.println("localiza("+param+")");
      }
     %>
    }
   }
  </script>
 </head>
 <body onload="initialize_jugadores()" onunload="GUnload()">
  <div id="gen_cont">
   <table id="juego_contenedor">
    <tr>
    <%
     String jActNombre=jAct.getNombre();     
     jActNombre=jActNombre.indexOf(',')==-1?jActNombre:jActNombre.split(",")[1]+" "+jActNombre.split(",")[0].toLowerCase();
    %>
     <td id="juego_titulo" colspan="2"><span id="jNombre"><%=jActNombre%></span><img onclick="generarPdf();" src="img/pdf.gif" /></td>
     
    </tr>
    <tr>
     <td id="juego_general">
      <table>
       <tr>
        <td>Creador</td>
        <td><a href="FrontController?action=redirect&url=usuario.jsp?nombre=<%=jAct.getCreador()%>" id="jCreador"><%=adu.getUsuarioUid(jAct.getCreador()).getApodo()%></a></td>
       </tr>
       <tr>
        <td>Fecha de creaci&oacute;n</td>
        <td id="jFechaCreacion"><%=jAct.getFechaCreacion()%></td>
       </tr>
       <tr>
        <td>Padrinos</td>
        <td id="jPadrinos">
        <%
         boolean padrino=false;
         Iterator<Usuario> pIt=jAct.getPadrinosJ().iterator();
         sessionId=(String)session.getAttribute("login_id");
         while(pIt.hasNext()){
        	 Usuario uActIT=pIt.next();
        	 padrino=uActIT.getUid().equals(sessionId)||padrino;
        %>	 
         <a href="FrontController?action=redirect&url=usuario.jsp?nombre=<%=uActIT.getUid()%>"><%=uActIT.getNombre()%><%if(pIt.hasNext()){%>,<%} %></a>
        <%
         }
        %>
        </td>
       </tr>
       <tr>
        <td>Jugadores m&iacute;nimos</td>
        <td><span id="jNumJugadoresMinimos"><%=jAct.getNumJugadoresMinimos()%> jugadores</span></td>
       </tr>
       <tr>
        <td>Jugadores m&aacute;ximos</td>
        <td><span id="jNumJugadoresMaximos"><%=jAct.getNumJugadoresMaximos()%> jugadores</span></td>
       </tr>
       <tr>
        <td>Juego en equipo</td>
        <td id="jJuegoEnEquipo"><%=jAct.getJuegoEnEquipo()==true?"S&iacute;":"No"%></td>
       </tr>
       <tr>
        <td>Grado de dificultad</td>
        <td id="jGradoDeDificultad"><%=jAct.getGradoDeDificultad()%></td>
       </tr>
       <tr>
        <td>Tiempo de juego</td>
        <td id="jTiempoDeJuego"><%=jAct.getTiempoDeJuegoMinimo()%> - <%=jAct.getTiempoDeJuegoMaximo()%> minutos</td>
       </tr>
       <tr>
        <td>Materiales necesarios</td>
        <td id="jMaterialesNecesarios"><%=jAct.getMaterialesNecesarios()%></td>
       </tr>
      </table>
     </td>
     <td id="juego_mapas">
      <div id="juego_mapas_eventos" onclick="initialize_eventos();" >Eventos</div>
      <div id="juego_mapas_jugadores" onclick="initialize_jugadores();" >Jugadores</div>
      <div id="map_canvas"></div>
     </td>
    </tr>
    <tr>
     <td id="juego_descripcion" colspan="2"><%=jAct.getReglas()%></td>
    </tr>
    <tr>
     <td id="juego_jugadores" colspan="2">
     <%
      Iterator<Usuario> jIt=jAct.getJugadoresJ().iterator();
      int contador=0;
      while(jIt.hasNext()){
       jIt.next();
       contador++;
      }
     %>
      <span>A este juego han jugado <%=contador%> jugadores: </span> 
      <%
       sessionId=(String)session.getAttribute("login_id");
       jIt=jAct.getJugadoresJ().iterator();
       boolean jugado=false;
       while(jIt.hasNext()){
    	   Usuario uActIT=jIt.next();
    	   jugado=uActIT.getUid().equals(sessionId)||jugado;
      %>
      <a href="FrontController?action=redirect&url=usuario.jsp?nombre=<%=uActIT.getUid()%>"><%=uActIT.getApodo()%><%if(jIt.hasNext()){%>,<%} %></a>
      <%
       }
      %>
      <br /><br /><hr /><br />
      <%
         Iterator<Usuario> solPadIT=jAct.getSolicitudPadrinoJ().iterator();
         boolean solPadrino=false;
         while(solPadIT.hasNext()){
          if((solPadIT.next().getUid()).equals(sessionId)){
           solPadrino=true;
           break;
          }
         }
         if(sessionId!=null&&!jugado){
    	  out.println("<input type=\"button\" value=\"Yo jugu&eacute; a este juego\" onclick=\"location.href='juego.jsp?nombre="+jAct.getUid()+"&accion=apuntarseJugador';\" />");
         }
         else if(sessionId!=null&&jugado){
       	  out.println("<input type=\"button\" value=\"Yo no jugu&eacute; a este juego\" onclick=\"location.href='juego.jsp?nombre="+jAct.getUid()+"&accion=retirarseJugador';\" />");
         }
         if(sessionId!=null&&!padrino&&!solPadrino){
       	  out.println("<input type=\"button\" value=\"Quiero ser padrino\" onclick=\"location.href='juego.jsp?nombre="+jAct.getUid()+"&accion=apuntarsePadrino';\" />");
         }
         else if(sessionId!=null&&jAct.getPadrinos().size()>1&&padrino){
       	  out.println("<input type=\"button\" value=\"Ya no quiero ser padrino\" onclick=\"location.href='juego.jsp?nombre="+jAct.getUid()+"&accion=retirarsePadrino';\" />");
         }
         else if(sessionId!=null&&solPadrino){
       	  out.println("<input type=\"button\" value=\"Retirar peticion de padrino\" onclick=\"location.href='juego.jsp?nombre="+jAct.getUid()+"&accion=retirarsePeticionPadrino';\" />");
         }
      %>
      </td>      
    </tr>
   </table>
  </div>
 </body>
</html>